home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / icon tools / deft ii / sources / gui_muib.em < prev    next >
Text File  |  1996-04-07  |  8KB  |  236 lines

  1. OPT MODULE
  2.  
  3.  
  4. /*/////////////////////////////////////////////////////////////////////////////
  5. ///////////////////////////////////////////////////////////// Macro files /////
  6. ///////////////////////////////////////////////////////////////////////////////
  7. MACROS 'MUI.pma'
  8. */
  9.  
  10.  
  11. ->*****
  12. ->** External modules
  13. ->*****
  14. MODULE 'muimaster' , 'libraries/mui'
  15. MODULE 'utility/tagitem' , 'utility/hooks'
  16. MODULE 'libraries/asl'
  17. MODULE 'workbench/workbench'
  18.  
  19. MODULE '*Locale'
  20.  
  21.  
  22. ->*****
  23. ->** Object definitions
  24. ->*****
  25. EXPORT OBJECT obj_arexx
  26.     commands    :    PTR TO mui_command
  27.     error        :    hook
  28. ENDOBJECT
  29.  
  30. EXPORT OBJECT obj_display
  31.     display_def_tool    :    hook
  32.     compare_def_tool    :    hook
  33.     str_obj                :    hook
  34.     obj_str                :    hook
  35. ENDOBJECT
  36.  
  37. EXPORT OBJECT obj_app
  38.     app                    :    LONG
  39.     wi_main                :    LONG
  40.     lv_default_tools    :    LONG
  41.     gr_default_tools    :    LONG
  42.     stR_old_def_tool    :    LONG
  43.     po_new_def_tool        :    LONG
  44.     stR_PO_new_def_tool    :    LONG
  45.     lv_new_def_tools    :    LONG
  46.     im_new_def_tool        :    LONG
  47.     bt_delete_def_tool    :    LONG
  48.     gr_paths            :    LONG
  49.     lv_paths            :    LONG
  50.     pa_path                :    LONG
  51.     stR_PA_path            :    LONG
  52.     bt_delete_path        :    LONG
  53.     tx_info                :    LONG
  54.     bt_go                :    LONG
  55.     bt_stop                :    LONG
  56.     bt_save_prefs        :    LONG
  57.     bt_about            :    LONG
  58.     bt_quit                :    LONG
  59. ENDOBJECT
  60.  
  61.  
  62. ->*****
  63. ->** Global variables
  64. ->*****
  65. EXPORT DEF cat : PTR TO catalog_DeftII
  66.  
  67.  
  68. ->*****
  69. ->** Initializes the application object
  70. ->*****
  71. PROC create(    icon    :    PTR TO diskobject    ,
  72.                 arexx    :    PTR TO obj_arexx    ,
  73.                 display    :    PTR TO obj_display    ) OF obj_app
  74.  
  75.     DEF app , wi_main , lv_default_tools , gr_default_tools
  76.     DEF stR_old_def_tool , po_new_def_tool , stR_PO_new_def_tool
  77.     DEF lv_new_def_tools , bt_delete_def_tool , gr_paths , lv_paths , pa_path
  78.     DEF stR_PA_path , bt_delete_path , tx_info , bt_go , bt_stop
  79.     DEF bt_save_prefs , bt_about , bt_quit , im_new_def_tool
  80.  
  81.     app := ApplicationObject ,
  82.         MUIA_Application_Author , 'Lionel Vintenat' ,
  83.         MUIA_Application_Base , 'DEFT_II' ,
  84.         MUIA_Application_Title , 'Deft II' ,
  85.         MUIA_Application_Version , '$VER: Deft_II 1.6 (15.11.94)' ,
  86.         MUIA_Application_Copyright , '© 1994, Lionel Vintenat' ,
  87.         MUIA_Application_Description , cat.msg_AppDescription.getstr() ,
  88.         MUIA_Application_DiskObject , icon ,
  89.         MUIA_Application_Commands , arexx.commands ,
  90.         MUIA_Application_RexxHook , arexx.error ,
  91.         MUIA_HelpFile, 'Deft II.guide',
  92.         SubWindow , wi_main := WindowObject ,
  93.             MUIA_Window_Title , cat.msg_WI_main.getstr() ,
  94.             MUIA_Window_ID , "0WIN" ,
  95.             MUIA_Window_AppWindow , MUI_TRUE ,
  96.             WindowContents , GroupObject ,
  97.                 Child , GroupObject ,
  98.                     MUIA_Group_Horiz , MUI_TRUE ,
  99.                     Child , gr_default_tools := GroupObject ,
  100.                         MUIA_Weight , 200 ,
  101.                         GroupFrameT( cat.msg_GR_default_tools.getstr() ) ,
  102.                         MUIA_HelpNode , 'gr_default_tools' ,
  103.                         Child , lv_default_tools := ListviewObject ,
  104.                             MUIA_Listview_DoubleClick , MUI_TRUE ,
  105.                             MUIA_Listview_List , ListObject ,
  106.                                 InputListFrame ,
  107.                                 MUIA_HelpNode , 'lv_default_tools' ,
  108.                                 MUIA_List_Format , 'DELTA=10,' ,
  109.                                 MUIA_List_DisplayHook , display.display_def_tool ,
  110.                                 MUIA_List_CompareHook , display.compare_def_tool ,
  111.                             End ,
  112.                         End ,
  113.                         Child , GroupObject ,
  114.                             MUIA_Group_Columns , 2 ,
  115.                             Child , Label( cat.msg_LA_old_def_tool.getstr() ) ,
  116.                             Child , stR_old_def_tool := StringObject ,
  117.                                 StringFrame ,
  118.                                 MUIA_HelpNode , 'stR_old_def_tool' ,
  119.                                 MUIA_String_MaxLen , 256 ,
  120.                                 MUIA_String_Format , 0 ,
  121.                             End ,
  122.                             Child , Label( cat.msg_LA_new_def_tool.getstr() ) ,
  123.                             Child , GroupObject ,
  124.                                 MUIA_Group_Horiz , MUI_TRUE ,
  125.                                 Child , po_new_def_tool := PopobjectObject ,
  126.                                     MUIA_HelpNode , 'po_new_def_tool' ,
  127.                                     MUIA_Popstring_String , stR_PO_new_def_tool := StringMUI( '' , 256 ) ,
  128.                                     MUIA_Popstring_Button , PopButton( MUII_PopUp ) ,
  129.                                     MUIA_Popobject_Light , MUI_TRUE ,
  130.                                     MUIA_Popobject_Follow , MUI_TRUE ,
  131.                                     MUIA_Popobject_Volatile , MUI_TRUE ,
  132.                                     MUIA_Popobject_StrObjHook , display.str_obj ,
  133.                                     MUIA_Popobject_ObjStrHook , display.obj_str ,
  134.                                     MUIA_Popobject_Object , lv_new_def_tools := ListviewObject ,
  135.                                         MUIA_Listview_DoubleClick , MUI_TRUE ,
  136.                                         MUIA_Listview_List , ListObject ,
  137.                                             InputListFrame ,
  138.                                         End ,
  139.                                     End ,
  140.                                 End ,
  141.                                 Child , im_new_def_tool := ImageObject ,
  142.                                     MUIA_HelpNode , 'po_new_def_tool' ,
  143.                                     MUIA_Image_Spec , 19 ,
  144.                                     MUIA_Image_FontMatch , MUI_TRUE ,
  145.                                     MUIA_InputMode, MUIV_InputMode_RelVerify,
  146.                                     MUIA_Frame, MUIV_Frame_Button,
  147.                                 End ,
  148.                             End ,
  149.                         End ,
  150.                         Child , bt_delete_def_tool := et_key_button( cat.msg_BT_delete_def_tool.getstr() ) ,
  151.                     End ,
  152.                     Child , gr_paths := GroupObject ,
  153.                         GroupFrameT( cat.msg_GR_paths.getstr() ) ,
  154.                         MUIA_HelpNode , 'gr_paths' ,
  155.                         Child , lv_paths := ListviewObject ,
  156.                             MUIA_Listview_DoubleClick , MUI_TRUE ,
  157.                             MUIA_Listview_List , ListObject ,
  158.                                 InputListFrame ,
  159.                                 MUIA_HelpNode , 'lv_paths' ,
  160.                                 MUIA_List_ConstructHook , MUIV_List_ConstructHook_String ,
  161.                                 MUIA_List_DestructHook , MUIV_List_DestructHook_String ,
  162.                             End ,
  163.                         End ,
  164.                         Child , pa_path := PopaslObject ,
  165.                             MUIA_HelpNode , 'pa_path' ,
  166.                             MUIA_Popasl_Type , 0 ,
  167.                             MUIA_Popstring_String , stR_PA_path := StringMUI( '' , 256 ) ,
  168.                             MUIA_Popstring_Button , PopButton( MUII_PopDrawer ) ,
  169.                             ASLFR_DRAWERSONLY , TRUE ,
  170.                         End ,
  171.                         Child , bt_delete_path := et_key_button( cat.msg_BT_delete_path.getstr() ) ,
  172.                     End ,
  173.                 End ,
  174.                 Child , GroupObject ,
  175.                     MUIA_Group_Horiz , MUI_TRUE ,
  176.                     Child , Label( cat.msg_LA_info.getstr() ) ,
  177.                     Child , tx_info := TextObject ,
  178.                         MUIA_Background , 128 ,
  179.                         MUIA_Text_Contents , cat.msg_TX_info.getstr() ,
  180.                         MUIA_Text_SetMax , 0 ,
  181.                         MUIA_Text_SetMin , 1 ,
  182.                         MUIA_Frame , 3 ,
  183.                         MUIA_HelpNode , 'tx_info' ,
  184.                     End ,
  185.                 End ,
  186.                 Child , GroupObject ,
  187.                     GroupFrameT( cat.msg_GR_controls.getstr() ) ,
  188.                     MUIA_HelpNode , 'gr_controls' ,
  189.                     MUIA_Group_Horiz , MUI_TRUE ,
  190.                     MUIA_Group_SameWidth , MUI_TRUE ,
  191.                     Child , bt_go := et_key_button( cat.msg_BT_go.getstr() ) ,
  192.                     Child , bt_stop := et_key_button( cat.msg_BT_stop.getstr() ) ,
  193.                     Child , bt_save_prefs := et_key_button( cat.msg_BT_save_prefs.getstr() ) ,
  194.                     Child , bt_about := et_key_button( cat.msg_BT_about.getstr() ) ,
  195.                     Child , bt_quit := et_key_button( cat.msg_BT_quit.getstr() ) ,
  196.                 End ,
  197.             End ,
  198.         End ,
  199.     End
  200.  
  201.     self.app                 := app
  202.     self.wi_main             := wi_main
  203.     self.lv_default_tools    := lv_default_tools
  204.     self.gr_default_tools    := gr_default_tools
  205.     self.stR_old_def_tool    := stR_old_def_tool
  206.     self.po_new_def_tool     := po_new_def_tool
  207.     self.stR_PO_new_def_tool := stR_PO_new_def_tool
  208.     self.lv_new_def_tools    := lv_new_def_tools
  209.     self.im_new_def_tool     := im_new_def_tool
  210.     self.bt_delete_def_tool  := bt_delete_def_tool
  211.     self.gr_paths            := gr_paths
  212.     self.lv_paths            := lv_paths
  213.     self.pa_path             := pa_path
  214.     self.stR_PA_path         := stR_PA_path
  215.     self.bt_delete_path      := bt_delete_path
  216.     self.tx_info             := tx_info
  217.     self.bt_go               := bt_go
  218.     self.bt_stop             := bt_stop
  219.     self.bt_save_prefs       := bt_save_prefs
  220.     self.bt_about            := bt_about
  221.     self.bt_quit             := bt_quit
  222.  
  223. ENDPROC self.app
  224.  
  225.  
  226. ->*****
  227. ->** Dispose the application object
  228. ->*****
  229. PROC dispose() OF obj_app IS Mui_DisposeObject( self.app )
  230.  
  231.  
  232. ->*****
  233. ->** ExTended KeyButton function
  234. ->*****
  235. PROC et_key_button( text : PTR TO CHAR ) RETURN KeyButton( ( text + 3 ), text[ 1 ] )
  236.